﻿using System.Collections.Generic;
using Castle.ActiveRecord;

namespace SampleApplication
{
    /// <summary>
    /// Encja filmu
    /// </summary>
    [ActiveRecord]
    public class Movie : ActiveRecordBase<Movie>
    {
        /// <summary>
        /// Id filmu
        /// </summary>
        [PrimaryKey]
        public int Id { get; set; }

        /// <summary>
        /// Nazwa filmu
        /// </summary>
        [Property]
        public string Name { get; set; }

        /// <summary>
        /// Rok produkcji
        /// </summary>
        [Property]
        public int ProductionYear { get; set; }

        /// <summary>
        /// Opis
        /// </summary>
        [Property]
        public string Description { get; set; }

        /// <summary>
        /// Obsada
        /// </summary>
        [Property]
        public string Cast { get; set; }

        /// <summary>
        /// Reżyseria
        /// </summary>
        [Property]
        public string Directors { get; set; }

        /// <summary>
        /// Typ filmu
        /// </summary>
        [Property]
        public MovieType Type { get; set; }

        /// <summary>
        /// Lista wypożyczeń, na których występuje film
        /// </summary>
        [HasMany]
        public IList<RentalItem> RentalItems { get; set; }

        /// <summary>
        /// Konstruktor
        /// </summary>
        public Movie()
        {
            RentalItems = new List<RentalItem>();
        }
    }
}
